gtk4.git
9 years agogtkplacessidebar: Remove deprecated "show-other-locations" signal
Rico Tzschichholz [Sun, 23 Oct 2016 16:46:24 +0000 (18:46 +0200)]
gtkplacessidebar: Remove deprecated "show-other-locations" signal

9 years agodocs: Follow removal of GtkAction and GtkActivatable
Rico Tzschichholz [Sun, 23 Oct 2016 16:34:49 +0000 (18:34 +0200)]
docs: Follow removal of GtkAction and GtkActivatable

9 years agocellrenderertoggle: Fix compile warnings
Rico Tzschichholz [Sun, 23 Oct 2016 17:10:06 +0000 (19:10 +0200)]
cellrenderertoggle: Fix compile warnings

9 years agoaccessible: Fix compile warnings
Rico Tzschichholz [Sun, 23 Oct 2016 17:09:27 +0000 (19:09 +0200)]
accessible: Fix compile warnings

9 years agotreeview: Remove stray property enum-entry
Rico Tzschichholz [Sun, 23 Oct 2016 17:08:27 +0000 (19:08 +0200)]
treeview: Remove stray property enum-entry

9 years agotreeview: Remove deprecated API
Rico Tzschichholz [Sun, 23 Oct 2016 15:50:02 +0000 (17:50 +0200)]
treeview: Remove deprecated API

9 years agocellrenderertoggle: Remove deprecated indicator-size property
Rico Tzschichholz [Sun, 23 Oct 2016 15:39:31 +0000 (17:39 +0200)]
cellrenderertoggle: Remove deprecated indicator-size property

9 years agostylecontext: Remove deprecated API
Rico Tzschichholz [Sun, 23 Oct 2016 15:26:37 +0000 (17:26 +0200)]
stylecontext: Remove deprecated API

9 years agogtkplacessidebar: Remove deprecated "show-connect-to-server"
Rico Tzschichholz [Sun, 23 Oct 2016 15:13:14 +0000 (17:13 +0200)]
gtkplacessidebar: Remove deprecated "show-connect-to-server"

9 years agoRemove deprecated gtk_im_multicontext_append_menuitems
Rico Tzschichholz [Sun, 23 Oct 2016 15:05:25 +0000 (17:05 +0200)]
Remove deprecated gtk_im_multicontext_append_menuitems

9 years agotestutils: Remove deprecated API
Rico Tzschichholz [Sun, 23 Oct 2016 15:02:29 +0000 (17:02 +0200)]
testutils: Remove deprecated API

9 years agoRemove deprecated GTK_RELIEF_HALF
Rico Tzschichholz [Sun, 23 Oct 2016 14:56:18 +0000 (16:56 +0200)]
Remove deprecated GTK_RELIEF_HALF

9 years agoquartz: Remove stock API usage
Rico Tzschichholz [Sun, 23 Oct 2016 11:12:00 +0000 (13:12 +0200)]
quartz: Remove stock API usage

9 years agoRemove stray "stock" references
Rico Tzschichholz [Sun, 23 Oct 2016 11:01:52 +0000 (13:01 +0200)]
Remove stray "stock" references

9 years agoRemoved deprecated GtkIM*Style enums
Rico Tzschichholz [Sun, 23 Oct 2016 10:52:00 +0000 (12:52 +0200)]
Removed deprecated GtkIM*Style enums

9 years agoradiotoolbutton: Remove deprecated API
Rico Tzschichholz [Sun, 23 Oct 2016 10:42:52 +0000 (12:42 +0200)]
radiotoolbutton: Remove deprecated API

9 years agolayout: Remove deprecated API
Rico Tzschichholz [Sun, 23 Oct 2016 10:38:31 +0000 (12:38 +0200)]
layout: Remove deprecated API

9 years agoiconsource: Remove stray reference
Rico Tzschichholz [Sun, 23 Oct 2016 08:45:13 +0000 (10:45 +0200)]
iconsource: Remove stray reference

9 years agoiconset: Remove stray references
Rico Tzschichholz [Sun, 23 Oct 2016 08:40:04 +0000 (10:40 +0200)]
iconset: Remove stray references

9 years agoassistant: Remove deprecated API
Rico Tzschichholz [Sun, 23 Oct 2016 08:26:56 +0000 (10:26 +0200)]
assistant: Remove deprecated API

9 years agoaccessible: Drop deprecated connect_widget_destroyed
Rico Tzschichholz [Sun, 23 Oct 2016 08:12:49 +0000 (10:12 +0200)]
accessible: Drop deprecated connect_widget_destroyed

9 years agocolorbutton: Don't notify nonexistent properties
Timm Bäder [Sat, 22 Oct 2016 19:47:12 +0000 (21:47 +0200)]
colorbutton: Don't notify nonexistent properties

9 years agowidget: Add docs for ::measure
Timm Bäder [Sat, 22 Oct 2016 19:40:04 +0000 (21:40 +0200)]
widget: Add docs for ::measure

9 years agobutton: Add Since annotations to icon-name setter/getter
Timm Bäder [Sat, 22 Oct 2016 19:02:34 +0000 (21:02 +0200)]
button: Add Since annotations to icon-name setter/getter

9 years agowidget: Really remove get_preferred_xxx vfuncs
Timm Bäder [Sat, 22 Oct 2016 17:40:57 +0000 (19:40 +0200)]
widget: Really remove get_preferred_xxx vfuncs

9 years agoexpander: Remove spacing property
Timm Bäder [Sat, 22 Oct 2016 17:36:58 +0000 (19:36 +0200)]
expander: Remove spacing property

9 years agotoolbar: Remove GtkToolbarSpaceStyle
Timm Bäder [Sat, 22 Oct 2016 17:32:45 +0000 (19:32 +0200)]
toolbar: Remove GtkToolbarSpaceStyle

9 years agocellrendererpixbuf: Remove :follow-state
Timm Bäder [Sat, 22 Oct 2016 17:32:25 +0000 (19:32 +0200)]
cellrendererpixbuf: Remove :follow-state

9 years agoremove GTK_DEBUG_PLUGSOCKET
Timm Bäder [Sat, 22 Oct 2016 17:29:36 +0000 (19:29 +0200)]
remove GTK_DEBUG_PLUGSOCKET

Both GtkPlug and GtkSocket are gone so this doesn't make a lot of sense
anymore.

9 years agoicontheme: Remove deprecated API
Timm Bäder [Sat, 22 Oct 2016 15:25:57 +0000 (17:25 +0200)]
icontheme: Remove deprecated API

9 years agotoolpalette: Remove deprecated API
Timm Bäder [Sat, 22 Oct 2016 15:01:37 +0000 (17:01 +0200)]
toolpalette: Remove deprecated API

9 years agowidget: Use ::measure vfunc to measure size
Timm Bäder [Sat, 22 Oct 2016 14:06:14 +0000 (16:06 +0200)]
widget: Use ::measure vfunc to measure size

Add a new ::measure vfunc similar to GtkCssGadget's that widget
implementations have to override instead of the old get_preferred_width,
get_preferred_height, get_preferred_width_for_height,
get_preferred_height_for_width and
get_preferred_height_and_baseline_for_width.

9 years agotextview: Remove deprecated GtkScrollable API
Timm Bäder [Sat, 22 Oct 2016 14:56:49 +0000 (16:56 +0200)]
textview: Remove deprecated GtkScrollable API

9 years agocss: Stop parsing GdkColor values
Timm Bäder [Sat, 22 Oct 2016 14:49:42 +0000 (16:49 +0200)]
css: Stop parsing GdkColor values

9 years agopaned: Don't check handle-size style property
Timm Bäder [Sat, 22 Oct 2016 14:41:12 +0000 (16:41 +0200)]
paned: Don't check handle-size style property

9 years agoRemove gtk_cell_view_get_size_of_row
Timm Bäder [Sat, 22 Oct 2016 07:13:52 +0000 (09:13 +0200)]
Remove gtk_cell_view_get_size_of_row

9 years agogl: Check whether use_es is positive
Emmanuele Bassi [Sat, 22 Oct 2016 01:37:53 +0000 (02:37 +0100)]
gl: Check whether use_es is positive

Now that the use_es field is an int with a possible negative value, we
cannot use it its truth value directly; we need to check if it's a
positive value, instead.

9 years agogl: Set legacy bit depending on OpenGL version
Emmanuele Bassi [Fri, 21 Oct 2016 20:21:39 +0000 (21:21 +0100)]
gl: Set legacy bit depending on OpenGL version

GDK defaults to asking for an OpenGL 3.2 Core Profile, but if we get a
legacy profile from the underlying windowing system, the OpenGL version
will be fixed to 3.0. If that happens, we need to set the legacy bit on
the GdkGLContext, since that bit will be used to determine the version
and type of GLSL shaders that will be used by application and toolkit
code alike.

9 years agoUpdate German translation
Mario Blättermann [Fri, 21 Oct 2016 23:44:55 +0000 (23:44 +0000)]
Update German translation
(cherry picked from commit ffb1ac56a8ae8b0261b9007115faed6206d4b06b)

9 years agoGtkMenu: Try using gdk_window_move_to_rect() more often
Jonas Ådahl [Fri, 14 Oct 2016 08:41:50 +0000 (16:41 +0800)]
GtkMenu: Try using gdk_window_move_to_rect() more often

With best-effort, try to use gdk_window_move_to_rect() more often, when
all pieces fit together. For the non-legacy paths to be triggered for
when gtk_menu_popup_for_device() or gtk_menu_popup() were used, the
following conditions must be met:

 1) There is no custom positioning function specified
 2) The menu is attached to a widget (using gtk_menu_attach_to_widget())
 3) There is a associated grab device

https://bugzilla.gnome.org/show_bug.cgi?id=772922

9 years agooverlay: Document availability of properties
Pavel Grunt [Mon, 17 Oct 2016 08:32:04 +0000 (10:32 +0200)]
overlay: Document availability of properties

Add missing "Since"

https://bugzilla.gnome.org/show_bug.cgi?id=773082

9 years agoFix css documentation typo for color definition
Robert Roth [Thu, 20 Oct 2016 06:17:45 +0000 (09:17 +0300)]
Fix css documentation typo for color definition

'ligher' should be 'lighter', of course.

https://bugzilla.gnome.org/show_bug.cgi?id=773246

9 years agogdk/gl: Allow autodetection for GL/GLES
Emmanuele Bassi [Wed, 19 Oct 2016 12:43:17 +0000 (13:43 +0100)]
gdk/gl: Allow autodetection for GL/GLES

If the GdkGLContext was not explicitly instructed to use or not GLES, we
can detect whether the underlying API is going to be desktop GL or GLES.

https://bugzilla.gnome.org/show_bug.cgi?id=773180

9 years agogdk: Don't second-guess whether a context is GLES
Adam Jackson [Tue, 18 Oct 2016 19:26:18 +0000 (15:26 -0400)]
gdk: Don't second-guess whether a context is GLES

We've already set ->use_es correctly at context creation time, all this
can possibly do is change our mind about what kind of GL we're using.

Signed-off-by: Adam Jackson <ajax@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=773180

9 years agotests: fix clipboard test by loading correct icon
Victor Toso [Mon, 17 Oct 2016 16:21:06 +0000 (18:21 +0200)]
tests: fix clipboard test by loading correct icon

The icon name changed from "terminal" to "utilities-terminal" in
Adwaita-icon-theme.

Signed-off-by: Victor Toso <victortoso@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=773113

9 years agodocs: Expand icon-palette example
Matthias Clasen [Fri, 21 Oct 2016 15:08:07 +0000 (11:08 -0400)]
docs: Expand icon-palette example

Add a warning color, and show that hex colors work here.

9 years agoAdd border-width to the migration guide
Matthias Clasen [Fri, 21 Oct 2016 13:58:36 +0000 (09:58 -0400)]
Add border-width to the migration guide

No good answers here yet.

9 years agowindow: Don't leak the GskRenderer
Timm Bäder [Fri, 21 Oct 2016 08:12:40 +0000 (10:12 +0200)]
window: Don't leak the GskRenderer

9 years agoFix a typo in the css docs
Lapo Calamandrei [Fri, 21 Oct 2016 11:53:02 +0000 (13:53 +0200)]
Fix a typo in the css docs

9 years agogdkwindow-win32.c: Make code compatible with GDK 4.0 APIs
Chun-wei Fan [Fri, 21 Oct 2016 05:40:49 +0000 (13:40 +0800)]
gdkwindow-win32.c: Make code compatible with GDK 4.0 APIs

Port the code here so that things will continue to build and work on 4.x.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

9 years agoFix a few memory leaks
Timm Bäder [Thu, 20 Oct 2016 19:12:36 +0000 (21:12 +0200)]
Fix a few memory leaks

9 years agoBeef up the migration guide
Matthias Clasen [Thu, 20 Oct 2016 20:09:45 +0000 (16:09 -0400)]
Beef up the migration guide

9 years agoAdd a bit more to the migration guide
Matthias Clasen [Thu, 20 Oct 2016 18:05:34 +0000 (14:05 -0400)]
Add a bit more to the migration guide

9 years agoRemove some more GdkColor properties
Timm Bäder [Thu, 20 Oct 2016 17:51:43 +0000 (19:51 +0200)]
Remove some more GdkColor properties

9 years agobutton: Fix icon-name implementation
Timm Bäder [Thu, 20 Oct 2016 15:58:03 +0000 (17:58 +0200)]
button: Fix icon-name implementation

9 years agobutton: Remove grab_time
Timm Bäder [Thu, 20 Oct 2016 15:57:53 +0000 (17:57 +0200)]
button: Remove grab_time

Unused.

9 years agocontainer: Remove composite_name
Timm Bäder [Thu, 20 Oct 2016 11:58:36 +0000 (13:58 +0200)]
container: Remove composite_name

9 years agoframe: Remove unused constants
Timm Bäder [Thu, 20 Oct 2016 11:43:10 +0000 (13:43 +0200)]
frame: Remove unused constants

9 years agocontainer: Remove reallocate_redraws
Timm Bäder [Wed, 19 Oct 2016 19:02:09 +0000 (21:02 +0200)]
container: Remove reallocate_redraws

9 years agogtk4-demo: Fix builder demo
Timm Bäder [Wed, 19 Oct 2016 18:48:11 +0000 (20:48 +0200)]
gtk4-demo: Fix builder demo

9 years agowidget: Remove in_reparent flag
Timm Bäder [Wed, 19 Oct 2016 18:17:45 +0000 (20:17 +0200)]
widget: Remove in_reparent flag

gtk_widget_reparent is gone so we don't need this anymore.

9 years agomenuitem: Stop looking at nonexistant child properties
Timm Bäder [Tue, 18 Oct 2016 18:13:31 +0000 (20:13 +0200)]
menuitem: Stop looking at nonexistant child properties

9 years agocheckbutton: Remove unused constants
Timm Bäder [Tue, 18 Oct 2016 17:50:32 +0000 (19:50 +0200)]
checkbutton: Remove unused constants

9 years agobuilder: Stop parsing GdkColor values
Timm Bäder [Mon, 17 Oct 2016 16:44:46 +0000 (18:44 +0200)]
builder: Stop parsing GdkColor values

9 years agoshortcutswindow: Remove unneeded deprecation guards
Timm Bäder [Mon, 17 Oct 2016 16:06:35 +0000 (18:06 +0200)]
shortcutswindow: Remove unneeded deprecation guards

Leftovers from when it was still using a GtkArrow

9 years agotestsuite: Update buttons.nodes
Timm Bäder [Mon, 17 Oct 2016 15:21:09 +0000 (17:21 +0200)]
testsuite: Update buttons.nodes

We don't create a box anymore here.

9 years agocontainer: Don't queue resize on non-toplevel widgets
Timm Bäder [Thu, 20 Oct 2016 11:35:45 +0000 (13:35 +0200)]
container: Don't queue resize on non-toplevel widgets

9 years agowayland: Allow grabless xdg_popups
Carlos Garnacho [Tue, 18 Oct 2016 17:18:14 +0000 (19:18 +0200)]
wayland: Allow grabless xdg_popups

xdg_shell v6 allows grabless popups, whose behavior is not that
different from override redirect windows with no grab to take
keyboard input (and pointer events outside).

This means we can relax the requirement to have a grab before
creating an xdg_popup. The warning is still useful to have so
people stop relying on gdk_window_show();gdk_device_grab() being
an ok pattern to popup a window, it's been moved to wayland
implementation of gdk_device_grab() instead, so we warn if trying
to grab a GDK_WINDOW_TEMP window that's already visible.

https://bugzilla.gnome.org/show_bug.cgi?id=771694

9 years agobuild: Enable subdir-objects
Emmanuele Bassi [Wed, 19 Oct 2016 14:21:03 +0000 (15:21 +0100)]
build: Enable subdir-objects

Newer versions of Automake warn about forward compatibility when the
build uses sources in sub-directories without the subdir-objects option.

Both GTK+ and GDK have an almost-but-not-quite non-recursive Automake
layout, with sources in sub-directories contributing to the build of a
top-level object.

In theory, just adding subdir-objects to AM_INIT_AUTOMAKE would be
enough, but the test suite references sources in a different top-level
in order to build tests that verify the implementation of private data
structures. This is not really allowed when using subdir-objects and out
of srcdir builds. In order to fix this case, we require some ad hoc
rules to create symbolic links in the appropriate build directory.

9 years agoAdwaita: make circular button border looking nice
Lapo Calamandrei [Wed, 19 Oct 2016 13:56:41 +0000 (15:56 +0200)]
Adwaita: make circular button border looking nice

the darker bottom border used on buttons looks bad on circular ones
so now a gradient clipped on the border-box and a transparent
border is used in that partcular case.
See https://bugzilla.gnome.org/show_bug.cgi?id=771205 for details.

9 years agoAdwaita: sass, make button mixin export a global $button_fill var
Lapo Calamandrei [Tue, 18 Oct 2016 11:55:37 +0000 (13:55 +0200)]
Adwaita: sass, make button mixin export a global $button_fill var

$button_fill contains the background-image property value of
buttons, having it readable outside the drawing mixin allows, for
example, stacking background images in an easier way.

9 years agoAdwaita: sass cleanup
Lapo Calamandrei [Tue, 18 Oct 2016 11:16:07 +0000 (13:16 +0200)]
Adwaita: sass cleanup

aggregate circular button style to the main button structure.

9 years agowidget-factory: use circular style class on the circular button...
Lapo Calamandrei [Tue, 18 Oct 2016 11:08:02 +0000 (13:08 +0200)]
widget-factory: use circular style class on the circular button...

...in place of the circular-button one, killing the custom style
shipped, realying on the theme style.

9 years agobuild: Remove unused target variables
Emmanuele Bassi [Wed, 19 Oct 2016 13:34:05 +0000 (14:34 +0100)]
build: Remove unused target variables

The foreigndrawing test has been removed.

9 years agoicontheme: Simplify lookup_size()
Emmanuele Bassi [Wed, 19 Oct 2016 13:04:00 +0000 (14:04 +0100)]
icontheme: Simplify lookup_size()

No need to use an internal function, and no need to store the icon size
id, since we're using the id as the offset.

9 years agoVisual Studio builds: Update from [gdk|gtk]-3 to [gdk|gtk]-4
Chun-wei Fan [Wed, 19 Oct 2016 10:39:36 +0000 (18:39 +0800)]
Visual Studio builds: Update from [gdk|gtk]-3 to [gdk|gtk]-4

This updates all the projects files to be be named appropriately as we move from GTK-3.x to 4.x,
and updates the autotools files so that things are distributed and generated properly.

Also remove deprecated/gtkstatusicon-quartz.c from gtk/Makefile.am, as that was causing 'make dist'
to fail as that file has been removed.

This fixes 'make dist' with the updated existing project files in proper order.

Note that this does not include the new GSK, which will be added later, so the project files do
not yet build the whole stack on Visual Studio at this point.

9 years agoVisual Studio Solutions: Drop references to libgail-util
Chun-wei Fan [Wed, 19 Oct 2016 08:13:54 +0000 (16:13 +0800)]
Visual Studio Solutions: Drop references to libgail-util

We dropped it...

9 years agobuild/: Force MSVC project file generation on Makefile.am changes
Chun-wei Fan [Wed, 19 Oct 2016 06:48:08 +0000 (14:48 +0800)]
build/: Force MSVC project file generation on Makefile.am changes

Make the Makefile.am targets for generating the Visual Studio projects re-generate the
project files and the header listings whenever the Makefile.am's that include
build/Makefile.msvcproj changes, so that whenever a source/header is added, they will
be reflected in the projects and in the property sheets that are used to copy the
headers.

Also ensure that these are applied to the vs11, vs12 and vs14 projects when this
happens, as they are copied and processed from the Visual Studio 2010 projects.

9 years agoAdd some content to the migration guide
Matthias Clasen [Tue, 18 Oct 2016 20:20:44 +0000 (16:20 -0400)]
Add some content to the migration guide

9 years agoStart a new migration guide
Matthias Clasen [Tue, 18 Oct 2016 19:21:12 +0000 (15:21 -0400)]
Start a new migration guide

Remove information that is only relevant for porting to GTK+ 3,
and put scaffolding in place for information relevant to GTK+ 4.

9 years agogsk: Clear the profiler instance
Emmanuele Bassi [Tue, 18 Oct 2016 15:49:21 +0000 (16:49 +0100)]
gsk: Clear the profiler instance

When disposing the GskRenderer.

9 years agogsk: Plug leak in GskRenderNode
Emmanuele Bassi [Tue, 18 Oct 2016 15:34:03 +0000 (16:34 +0100)]
gsk: Plug leak in GskRenderNode

We need to destroy the node's surface when finalizing it.

9 years agobuild: Fix variable name for gtk4-update-icon-cache target
Emmanuele Bassi [Tue, 18 Oct 2016 14:51:05 +0000 (15:51 +0100)]
build: Fix variable name for gtk4-update-icon-cache target

9 years agobuild: Rework the GSK source lising
Emmanuele Bassi [Tue, 18 Oct 2016 14:47:00 +0000 (15:47 +0100)]
build: Rework the GSK source lising

We need to only parse the public sources during the introspection step,
otherwise the introspection scanner will try to access private data
types.

9 years agobuild: Drop LDADD from GSK's Makefile
Emmanuele Bassi [Tue, 18 Oct 2016 14:29:29 +0000 (15:29 +0100)]
build: Drop LDADD from GSK's Makefile

We can use the LDFLAGS target build.

9 years agoRename all binaries to be versioned
Matthias Clasen [Tue, 18 Oct 2016 14:27:45 +0000 (10:27 -0400)]
Rename all binaries to be versioned

This is just easier to avoid parallel installation problems.

9 years agoRename gtk-query-immodules to follow our binary naming scheme
Matthias Clasen [Tue, 18 Oct 2016 13:59:42 +0000 (09:59 -0400)]
Rename gtk-query-immodules to follow our binary naming scheme

Instead of gtk-query-immodules-4.0, lets call it gtk4-query-immodules,
to use the same prefix as all the other versioned binaries.

9 years agoFix the docs build more
Matthias Clasen [Tue, 18 Oct 2016 12:56:14 +0000 (08:56 -0400)]
Fix the docs build more

This makes gtk-doc produce output again.

9 years agogdk: Fix Since tag of gdk_cairo_surface_upload_to_gl
Rico Tzschichholz [Tue, 18 Oct 2016 11:38:08 +0000 (13:38 +0200)]
gdk: Fix Since tag of gdk_cairo_surface_upload_to_gl

9 years agogdk: Add missing Since tags for gdk_window_new_child/input
Rico Tzschichholz [Tue, 18 Oct 2016 11:27:19 +0000 (13:27 +0200)]
gdk: Add missing Since tags for gdk_window_new_child/input

In addition to d22e5e69d93401f8f0a040767fbf69ac5643a19d

9 years agogsk: Bump up all version annotations
Emmanuele Bassi [Tue, 18 Oct 2016 10:37:10 +0000 (11:37 +0100)]
gsk: Bump up all version annotations

GSK is part of the 4.0 development cycle.

9 years agodocs: Bump up major version for GSK's API reference
Emmanuele Bassi [Tue, 18 Oct 2016 10:35:32 +0000 (11:35 +0100)]
docs: Bump up major version for GSK's API reference

9 years agogsk: Add the ability to create fallback renderers
Emmanuele Bassi [Thu, 25 Aug 2016 10:31:56 +0000 (11:31 +0100)]
gsk: Add the ability to create fallback renderers

While porting GTK to GskRenderer we noticed that the current fallback
code for widgets using Cairo to draw is not enough to cover all the
possible cases.

For instance, if a container widget still uses GtkWidget::draw to render
its children, and at least one of them has been ported to using render
nodes instead, the container won't know how to draw it.

For this reason we want to provide to layers above GSK the ability to
create a "fallback" renderer instance, created using a "parent"
GskRenderer instance, but using a Cairo context as the rendering target
instead of a GdkDrawingContext.

GTK will use this inside the gtk_widget_draw() implementation, if a
widget implements GtkWidgetClass.get_render_node().

9 years agogsk: Update Cairo renderer
Emmanuele Bassi [Thu, 25 Aug 2016 10:29:00 +0000 (11:29 +0100)]
gsk: Update Cairo renderer

The Cairo renderer has been lagging behind a series of changes inside
GskRenderer, like surface-less nodes, so it needs to be updated.

9 years agogsk: Make GskRenderer.render() drawing context-agnostic
Emmanuele Bassi [Wed, 24 Aug 2016 15:21:50 +0000 (16:21 +0100)]
gsk: Make GskRenderer.render() drawing context-agnostic

We're going to need to allow rendering on a specific cairo_t in order to
implement fallback code paths inside GTK; this means that there will be
times when we have a transient GskRenderer instance that does not have a
GdkDrawingContext to draw on.

Instead of adding a new render() implementation for those cases and then
decide which one to use, we can remove the drawing context argument from
the virtual function itself, and allow using a NULL GdkDrawingContext
when calling gsk_renderer_render(). A later commit will add a generic
function to create a transient GskRenderer with a cairo_t attached to
it.

Renderers inside GSK will have to check whether we have access to a
GdkDrawingContext, in which case we're going to use it; or if we have
access to a cairo_t and a window.

9 years agodocs: Update the GSK API reference section
Emmanuele Bassi [Wed, 24 Aug 2016 13:12:58 +0000 (14:12 +0100)]
docs: Update the GSK API reference section

9 years agogsk: Move GskRenderNode getters to internal API
Emmanuele Bassi [Wed, 24 Aug 2016 13:07:26 +0000 (14:07 +0100)]
gsk: Move GskRenderNode getters to internal API

GskRenderNode is, at its core, a write-only API; you're supposed to set
up the render nodes instead of querying them for state.

Querying render nodes is left to the GskRenderer implementation.

9 years agogsk: Remove GskRenderer:auto-clear
Emmanuele Bassi [Wed, 24 Aug 2016 12:47:23 +0000 (13:47 +0100)]
gsk: Remove GskRenderer:auto-clear

We control the clearing inside each GskRenderer implementation, and we
don't allow providing a target surface any more.

9 years agoConvert GtkSpinner to indirect rendering
Matthias Clasen [Thu, 18 Aug 2016 21:25:41 +0000 (17:25 -0400)]
Convert GtkSpinner to indirect rendering

9 years agoConvert GtkImage to indirect rendering
Matthias Clasen [Thu, 18 Aug 2016 20:06:31 +0000 (16:06 -0400)]
Convert GtkImage to indirect rendering